package thread;

import com.sun.corba.se.impl.orbutil.ObjectStreamClassUtil_1_3;

/*
守护线程
也称为后台线程 守护线程是通过普通线程调用SetDaemon(true)设置转换而来的
守护线程与普通线程在结束时机上有一点不同  进程结束时
当Java进程中的所有普通线程都结束时 该进程就会结束  此时会杀死所有在运行中的进程
 */
public class DaemonTheradDemo {
    public static void main(String[] args) {
        Thread rose = new Thread(){
            public void run(){
                for (int i = 0; i <5; i++) {
                    System.out.println("rose: let me go!");
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                        System.out.println("呸  渣男！");
                    } }
                    System.out.println("啊啊啊啊啊啊啊啊啊啊啊啊。。。 扑通");


            }
        };
        Thread jack = new Thread(){
          public void run(){
              for (int i = 0; i < 1; i++) {
                  System.out.println("jack: 噢！ rose I love you  跳吧");
                  try {
                      Thread.sleep(5000);

                  } catch (InterruptedException e) {

                  }}
                  System.out.println("jack: but 你还真跳啊");
                  System.out.println("脑子是个好东西");
              rose.interrupt();

          }
        };

        rose.start();
        /*
         设置守护线程这件事必须在线程启动前
         */
        jack.setDaemon(true);
        jack.start();
        /*
         主线程也是普通线程 如果主线程在这里死循环  那么该进程一直活着


         */
        while (true);

    }
}
